#include "TOPVARData.h"

#include "DataStructure/Common/Validation.h"

using namespace SG::DataStructure::FEM;

bool SG::DataStructure::FEM::operator==(const TOPVARData::CASTData& val1,
                                        const TOPVARData::CASTData& val2) {
  FIELD_COMPARE(m_CID2)
  FIELD_COMPARE(m_DDI)
  FIELD_COMPARE(m_DIE)
  FIELD_COMPARE(m_ALIGN)
  return true;
}
bool SG::DataStructure::FEM::operator==(const TOPVARData::EXTRUSIONData& val1,
                                        const TOPVARData::EXTRUSIONData& val2) {
  FIELD_COMPARE(m_CID3)
  FIELD_COMPARE(m_EDI)
  FIELD_COMPARE(m_ALIGN2)
  return true;
}
bool SG::DataStructure::FEM::operator==(const TOPVARData::MINData& val1,
                                        const TOPVARData::MINData& val2) {
  FIELD_COMPARE(m_TDMIN)
  FIELD_COMPARE(m_TDMAX)
  return true;
}
bool SG::DataStructure::FEM::operator==(const TOPVARData::PRINTData& val1,
                                        const TOPVARData::PRINTData& val2) {
  FIELD_COMPARE(m_CID)
  FIELD_COMPARE(m_PRINTD)
  FIELD_COMPARE(m_ALIGN)
  FIELD_COMPARE(m_OHANGLE)
  FIELD_COMPARE(m_OHPMETHOD)
  FIELD_COMPARE(m_DENCUT)
  return true;
}
bool SG::DataStructure::FEM::operator==(const TOPVARData::STRESSData& val1,
                                        const TOPVARData::STRESSData& val2) {
  FIELD_COMPARE(m_STLIM)
  FIELD_COMPARE(m_PNORM)
  FIELD_COMPARE(m_PSFT)
  FIELD_COMPARE(m_PMETHOD)
  FIELD_COMPARE(m_PMATCH)
  return true;
}
bool SG::DataStructure::FEM::operator==(const TOPVARData::SYMPLANEData& val1,
                                        const TOPVARData::SYMPLANEData& val2) {
  FIELD_COMPARE(m_CID)
  FIELD_COMPARE(m_MS1)
  FIELD_COMPARE(m_MS2)
  FIELD_COMPARE(m_MS3)
  FIELD_COMPARE(m_CSM)
  FIELD_COMPARE(m_NCSM)
  return true;
}

bool SG::DataStructure::FEM::operator==(const TOPVARData& val1,
                                        const TOPVARData& val2) {
  FIELD_COMPARE(m_id)
  FIELD_COMPARE_ARR(m_LABEL, 8)
  FIELD_COMPARE_ARR(m_PTYPE, 8)
  FIELD_COMPARE(m_XINIT)
  FIELD_COMPARE(m_XLB)
  FIELD_COMPARE(m_DELXV)
  FIELD_COMPARE(m_POWER)
  FIELD_COMPARE(m_pId)
  FIELD_COMPARE(m_domainId)
  return true;
}